// // 在es5的情况下实现let ---let const var的区别
// // babel

// for (var _i = 0; _i <= 3; _i++){
//   console.log(_i)
// }
// console.log(i)  // 更改变量名


//   // 立即执行函数
// ; (function () {
//     for (var i = 0; i <= 3; i++) {
//       console.log(i)
//     }
// })();
// console.log(i)  // 函数作用域
   
// es5的情况下实现 const 
function _const(key,value) {
  Object.defineProperty(global, key, {
    writable: false, // 不可修改
    value
  })
}

// const a = 3
// const obj = { uname: 'jerry', age: 18 }

_const('obj', { uname: 'jerry', age: 18 })
obj.uname='tom'

console.log(global.obj.uname)